package calcmaster.calculator.domain;

public class Token {
	private TokenType tokenType;
	private double value;
	private FunctionType functionType;
	
	private Token(TokenType tokenType, double value, FunctionType functionType) {
		this.tokenType = tokenType;
		this.value = value;
		this.functionType = functionType;
	}
	
	public Token(double value) {
		this(TokenType.NUMBER, value, null);
	}
	
	public Token(TokenType tokenType) {
		this(tokenType, 0.0, null);
	}
	
	public Token(FunctionType functionType) {
		this(TokenType.FUNCTION, 0.0, functionType);
	}

	public TokenType getTokenType() {
		return tokenType;
	}

	public double getValue() {
		return value;
	}

	public FunctionType getFunctionType() {
		return functionType;
	}
	
}
